package priv.yiyuan.example.design.chain;

/**
 * 具体处理者 数据校验处理器
 * <p>
 * 内部使用模板方法实现校验逻辑
 *
 * @author YiYuan
 * @data 2025/10/14
 * @apoNote
 */
public class DataValidationProcessor extends DataProcessor {

    public DataValidationProcessor() {
        super(new AbstractDataHandler() {
            @Override
            protected void doProcess(RawData data) {
                System.out.println(" 校验核心处理: 检查数据长度和内容。");
                if (data.getContent().length() < 5 || data.getContent().contains("error")) {
                    data.setValid(false);
                    data.addProcessingLog("数据校验失败");
                    System.out.println(" 数据校验失败: 内容过短或包含'error'。");
                }
                else {
                    data.addProcessingLog("数据校验通过");
                    System.out.println(" 数据校验通过。");
                }
            }
        });
    }
}
